The present disclosure relates to computer software, and more specifically, to dynamically detecting and interrupting excessive execution times.
Debugging and isolating faults in complex software and firmware can present a variety of challenges. For example, software hangs often result in no failure signature being captured. Often, a server reboot may be required to recover from the hang. However, doing so normally destroys all traces of the failure, leaving service personnel and code developers with little diagnostic information from which to find the root cause and fix the problems. Hangs can often be hard to reproduce, requiring a particular sequence of events to be executed or a particular load be applied to the system, making such problems even more challenging to resolve. Sometimes, it is difficult to even detect a hang, as systems often appear to be operational, but in reality are nonfunctional.